Address translator, message processing method and euipment

ABSTRACT

An address translator includes an SIP message detecting function. Upon detection of an SIP message, the address translator sends the SIP message to an SIP address translator. The SIP address translator extracts addresses for translation, and makes a query to the address translator. The SIP address translator translates an IP address included in the SIP message, using translation information of the address translator. Thus, an SIP communication is accomplished between terminals belonging to different regions in association of the address translator and the SIP address translator.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to a system for interconnecting networks which conform to the same protocol, or networks which conform to different protocols.

[0002] The IP (Internet Protocol) networks represented by the Internet are now rapidly developing. A sudden increase in Internet users results in an increased proportion of data communications in communication networks. Communication operators are considering the construction of an IP-based next generation communication network for fusion of data communications and audio communications.

[0003] VoIP (Voice over IP) is a technology for transmitting audio information on an IP network. VoIP first sets a virtual communication path (session) between communication devices. IP packetized audio data is transferred on the set communication path. A session control protocol is requested for controlling the establishment, maintenance and disconnection of the session between communication devices.

[0004] IETF (Internet Engineering Task Force) has specified the SIP (Session Initiation Protocol) (IETF RFC2543) for establishing and terminating a session for an IP multimedia communication. Because of its high expendability in function, the SIP is drawing attention as a session control protocol for VoIP.

[0005] The SIP is an application protocol which utilizes a transport mechanism such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol). The SIP is a text-based protocol which is comprised of a header for carrying a request or a response, and a message body for describing the contents of a session. For describing a session in the SIP, SDP (Session Description Protocol) (IETF RFC2327), for example, is applied.

[0006] The SIP employs an architecture of a client server model. A user agent client sends an SIP request to a proxy (SIP server) of a user agent server. The SIP server solves the address of the destination using DNS (Domain Name System) or the like to establish a session between terminals.

[0007] The SIP server has a proxy mode and a redirect mode depending on its role. In the proxy mode, a proxy server mediates a request for establishing a session between a user agent client and a user agent server. In the redirect mode, a user agent client directly connects to a user agent server, making use of information on the destination acquired from an SIP redirect server.

[0008] In the following, description will be made on an SIP connection procedure using the SIP server in the proxy mode. When a terminal x on an IP network begins an audio communication with a terminal y on the IP network using the SIP, the terminal x sends a call setting request (INVITE) to the SIP server. The SIP server identifies position information of the terminal y, and sends the call setting request. The terminal y sends a response indicative of acceptance of the call. This response is sent to the terminal x via the SIP server through which the call setting request has passed. The terminal x confirms the reception of the response by sending an ACK request to the terminal y. The ACK request is transferred by the SIP server or directly sent to the terminal y. In the foregoing manner, a communication is available between the terminal x and terminal y. Generally, the call setting request and response include information (session description) for transferring user information (audio packets) between the terminal x and terminal y. The SDP or the like is applied to the session description. The terminal x (terminal y) sends user information to a destination specified by the terminal y (terminal x).

[0009] In accordance with the specifications of the SIP and SDP, information on the terminals and SIP server can be specified by an IP address.

[0010] On the other hand, the rapid spread of the IP networks increases the importance of the technology for interconnecting regions which differ in addressing system from each other.

[0011] For example, a method of using NAT (Network Address Translator) technology (IETF RFC1631) is known as a technology for interconnecting a network which confirms to private addresses and a network which conforms to global addresses.

[0012] The NAT translates a private IPv4 address to a global IPv4 address, or vice versa. The basic NAT rewrites one of a source address and a destination address at the time a datagram passes between two regions connected by an NAT router. When an address space allocated to the private network collides with an address space allocated to the public network, a twice NAT technology may be often used for solving the collision of addresses. The twice NAT technology rewrites both of the source address and destination address at the time a datagram passes between two regions connected by a twice NAT router.

[0013] The twice NAT operates in the following manner for solving the collision of addresses. When Host-A in the private region begins a communication with Host-X in the public region, Host-A sends a packet for inquiring the DNS address of Host-X. DNS-ALG (Domain Name Service—Application Level Gateway) captures this packet, translates the address for Host-X to an address (Host-XPRIME) which can be routed within the private region, and returns the translated address to Host-A. When the DNS address is solved, Host-A begins a communication with Host-XPRIME. At the time this packet passes the twice NAT, the source address is rewritten to an address possessed by the NAT, and the destination address is rewritten to the address of Host-X. A similar translation to the foregoing is applied to a return packet from Host-X. Details on the operation of the DNS-ALG are described in IETF RFC2694.

[0014] The foregoing is an exemplary technology which is used when a network to which a certain terminal belongs employs the same protocol as a network to which a destination terminal belongs. When a network to which a certain terminal belongs differs in communication protocol from a network to which a destination terminal belongs, NAT-PT (IETF RFC2766), SOCKS64 (IETF RFC3089) and the like are known as translation schemes for connecting a network which uses, for example, IPv4 as the protocol (hereinafter called the IPv4 network) to a network which uses Internet Protocol version 6 as the protocol (hereinafter called the IPv6 network).

[0015] Basically, either of these schemes mutually translates the format of the IP packet between IPv4 and IPv6. For example, IPv4 addresses are translated to IPv6 addresses, or vice versa. A device which is responsible for this translation is hereinafter called a translator. For the translation, the translator must create and hold a correspondence relationship between the IPv4 addresses and IPv6 addresses before the translation. When this correspondence relationship is dynamically created each time a communication is made, the name solution of DNS (domain name system) is utilized as a trigger (see Internet RFC Dictionary, pp323-329, ASCII Edition).

[0016] The DNS is a system for translating a name (character string) readily perceptible to humans such as URL of a web to an IP address. In the following, the operation of translating a name to an IP address is called a name solution. Today, almost all applications on the Internet utilizes this DNS to acquire an IP address of a communication party.

[0017] The NAT and translator, making use of this fact, monitor at all times messages of the DNS communicated at the outset of a communication, and take advantage of a message for requesting a name solution for creating translation information (a correspondence relationship of IP addresses, and the like). Specifically, assuming that an IPv6 terminal conducts a name solution for a certain name, and an IP address, which is a response thereto, is IPv4, the IPv4 address is rewritten to an IPv6 address which is sent back to the IPv6 terminal. Then, the IPv4 address before the rewriting is corresponded to the rewritten IPv6 address. In other words, the DNS-ALG intercepts the response message to the name solution for the rewriting, and dynamically creates the translation information based on the original and rewritten information.

SUMMARY OF THE INVENTION

[0018] An IP packet is comprised of an IP header which includes packet transfer information, a TCP/UDP header, and a payload. A translator represented by the NAT and NAT-PT does not translate an IP address included in the payload. An SIP message is set in the payload.

[0019] On the other hand, the SIP and SDP can set an IP address in the payload, as mentioned above.

[0020] However, when a region A and a region B are interconnected by an address translator and a terminal belonging to the region A communicates with a terminal belonging to the region B through the SIP, the conventional NAT and translator do not translate an IP address set in the SIP and SDP, resulting in a failure in a communication between the terminals through SIP.

[0021] It is an object of the present invention to provide an SIP message translation system which enables SIP-based communications between a certain terminal belonging to a network and a destination terminal belonging to another network even if the two network differ in the addressing system from each other.

[0022] According to one aspect of the present invention, a method of processing a message including a first portion and a second portion includes:

[0023] first translation processing for translating information in the first part from information conforming to a first protocol (or addressing system) to information conforming to a second protocol (or addressing system);

[0024] determination processing for determining whether or not the second portion requires a translation; and

[0025] second translation processing for translating information in the second portion, determined to require a translation, from information conforming to the first protocol to information conforming to the second protocol.

[0026] The order of the first translation processing and second translation processing is arbitrary.

[0027] These operations may be performed by using a first server and a second server, wherein the first translation processing is performed by the first server, and at least information in the second portion is transferred from the first server to the second server which extracts a parameter that requires a translation from the second portion, and performs the second translation processing on the extracted parameter, followed by a transfer from the second server to the first server of the information in the second portion which has undergone the second translation processing.

[0028] Alternatively, a plurality of processors interconnected through an internal bus within a single server may perform the processing in cooperation. Further alternatively, a plurality of programs running on a single processor within a single server may perform the processing in cooperation.

[0029] As a typical application example, the first portion is an IP header, the second portion is a payload including an SIP message, one of the first protocol and second protocol is IPv4, the other protocol is IPv6, and information to be translated is an address.

[0030] Also, according to another aspect of the present invention, an address translator is connected to both a first network conforming to a first protocol and a second network conforming to a second protocol. The address translator has a memory part for holding a translation rule for translating the first protocol to the second protocol, or vice versa, a translating part for translating a first address of input information conforming to the first protocol to a second address conforming to the second protocol, or vice versa, and a function of outputting the input information and the translation rule.

[0031] A destination, to which the input information and translation rule is outputted, is another server external to the address translator, another block connected to an internal bus within the address translator, or another processing block within the same processor.

[0032] In a preferred example, input information, the protocol of which is translated in the destination using the input information and translation rule, is inputted again to the address translator.

[0033] According to another aspect of the present invention, an address translator for connecting a network A conforming to a protocol P to a network B conforming to a protocol Q, has an address translating function for translating an address conforming to the protocol P to an address conforming to the protocol Q, or vice versa, and a detecting function for detecting a communication conforming to a particular protocol, wherein the address translator translates an address described in a first region of communication data by the address translation function, and when the address translator detects a communication conforming to the particular protocol, the address translator creates translation information including a correspondence relationship between addresses in the protocol P and addresses in protocol Q for translating an address described in a second region of the communication data.

[0034] More specifically, in a communication network for interconnecting networks which differ in addressing system from one another, at least following two means are provided in addition to a conventional address translator represented by the NAT and translator: (1) means for causing the address translator to detect an SIP message communicated between different region; and (2) SIP message translating means for translating an IP address set in the SIP and SDP in accordance with an address translation scheme of the address translator.

[0035] The address translator detects an SIP message based on the IP address of an SIP server, or a combination of the IP address and a port number of the SIP server, or the port number. When the address translator which interconnects the networks having different addressing systems detects an SIP message sent from a terminal or the SIP server, the address translator initiates the SIP message translating means.

[0036] The SIP message translating means includes at least the following three functions: (1) a function of detecting a parameter for translation in the SIP message; (2) a translation rule corresponding to an address translation scheme provided by the address translator; and (3) a function of rewriting the SIP message, making use of a translation entry of the address translator. The address translator creates a translation entry based on a request from an SIP address translator. The address translator rewrites header information in a packet communicated between communication terminals based on the translation entry.

[0037] For implementing the functions of the SIP message translating means, there are the following three forms.

[0038] A first implementation provides an SIP address translator which has SIP message translating means. The SIP address translator rewrites an IP address included in an SIP message, making use of a translation entry of the address translator.

[0039] In a second implementation, the address translator has a function of detecting a parameter for translation in an SIP message, and adds identification information (tag) to the parameter for translation. The SIP address translator has a translation rule, and a function of rewriting an IP address included in an SIP message. The SIP address translator rewrites an IP address included in an SIP message, making use of a translation entry of the address translator.

[0040] In a third implementation, the address translator includes SIP message translating means.

[0041] When the present invention is applied, IP address information included in an SIP message communicated between different regions is translated, making use of the translation entry of the address translator. It is therefore possible to provide a VoIP-based audio communication service between terminals belonging to different regions.

[0042] A communication network according to another aspect of the present invention has the following features.

[0043] (1) A communication network in which a network A conforming to a certain protocol P and a network B conforming to a certain protocol Q are interconnected through an address translator, wherein:

[0044] the address translator includes a function of translating the protocol P to the protocol Q, or vice versa, a function of detecting an SIP communication, information and communication means required for communicating with a server device, and a function of creating translation information including a correspondence relationship between addresses in the protocol P and addresses in the protocol Q in association with the server device when an SIP communication is detected; and

[0045] the server device includes translation information and means required for mutually translating the protocols P, Q in the address translator when information for translation is included in an SIP communication, and information and communication means required for communicating with the address translator,

[0046] wherein with regard to an SIP communication from the network A conforming to the protocol P to the network B conforming to the protocol Q, the SIP communication is detected by the address translator, and the server device translates information in the SIP communication from an address conforming to the protocol P to an address conforming to the protocol Q with reference to translation information possessed by the address translator; and

[0047] with regard to a communication from the network A conforming to the protocol P to the network B conforming to the protocol Q, an address conforming to the protocol P is translated to an address conforming to the protocol Q with reference to the translation information possessed by the address translator.

[0048] As described in (1), an SIP-based audio communication can be accomplished between terminals belonging to an IPv4 network and an IPv6 network when the address translator according to one aspect of the present invention interconnects a network conforming to an IPv4 address and a network conforming to an IPv6 address, and the SIP address translator according to the present invention rewrites an IP address included in an SIP message.

[0049] According to another aspect of the present invention, when an address translator according to one embodiment of the present invention interconnects a network 1 confirming to an IPv4 private address and a network 2 conforming to an IPv4 global address, and an SIP address translator according to one embodiment of the present invention rewrites an IP address included in an SIP message, an SIP-based audio communication can be accomplished between a terminal belonging to the network 1 and a terminal belonging to the network 2. Specifically, the following configuration (2) is provided.

[0050] (2) A communication network in which a plurality of networks A1, A2 conforming to a certain protocol P are connected through an address translator, wherein:

[0051] the address translator has a function of translating the protocol P of the network A1 to the protocol P of the network A2, or vice versa, a function of detecting an SIP communication, information and communicating means required for communicating with a server device, and a function of creating translation information including a correspondence relationship between addresses in the network A1 and addresses in the network A2 in association with the server device when an SIP communication is detected;

[0052] the server device has translation information and means required for translating addresses in the network A1 to addresses in the network A2, or vice versa in the address translator when information for translation is included in an SIP communication, and information and communicating means required for communicating the address translator;

[0053] with regard to an SIP communication from the network A1 to the network A2, the address translator detects the SIP communication, and the server device translates information in the SIP communication from an address in the network A1 to an address in the network A2 with reference to translation information possessed by the address translator; and

[0054] with regard to a communication from the network A1 conforming to the protocol P to the network A2 conforming to the protocol P, an address in the network A1 is translated to an address in the network A2 with reference to the translation information possessed by the address translator.

[0055] (3) The communication network described in (1) or (2), wherein the address translator further has a function of detecting information for translation included in the SIP communication, and adding identification information, and the server device detects an object for translation using the identification information.

[0056] (4) The communication network described in (3), wherein the address translator further has a function of corresponding the identification information to SIP communication information, and the address translator further has a function of deleting translation information corresponding to the identification information at the end of the SIP communication.

[0057] (5) The communication network described in (1) - (4), wherein the address translator detects the SIP communication based on information on a destination, information on the destination and a port thereof, or information on the port.

[0058] (6) A communication network in which a network A conforming to a certain protocol P and a network B conforming to a certain protocol Q are interconnected through an address translator, wherein:

[0059] the address translator has a function of translating the protocol P to the protocol Q, or vice versa, a function of detecting an SIP communication, a function of creating translation information including a correspondence relationship between addresses in the protocol P and addresses in the protocol Q, and means for creating translation information required for mutually translating the protocols P, Q when information for translation is included in the SIP communication;

[0060] with regard to an SIP communication from the network A conforming to the protocol P to the network B conforming to the protocol Q, the address translator detects the SIP communication, and translates information in the SIP communication from an address conforming to the protocol P to an address conforming to the protocol Q with reference to the translation information; and

[0061] with regard to a communication from the network A conforming to the protocol P to the network B conforming to the protocol Q, an address conforming to the protocol P is translated to an address conforming to the protocol Q with reference to the translation information possessed by the address translator.

[0062] (7) A communication network in which a network A1 and a network A2 conforming to a certain protocol P are interconnected through an address translator, wherein:

[0063] the address translator has a function of translating the protocol P of the network A1 to the protocol P of the network A2, or vice versa, a function of detecting an SIP communication, a function of creating translation information including a correspondence relationship between addresses in the network A1 and addresses in the network A2, and a function of creating translation information required for translating an address in the network A1 to an address in the network A2, or vice versa, when information for translation is included in the SIP communication;

[0064] with regard to an SIP communication from the network A1 to the network A2, the address translator detects the SIP communication, and translates information in the SIP communication from an address in the network A1 to an address in the network A2 with reference to the translation information; and

[0065] with regard to a communication from the network A1 to the network A2, an address in the network A1 is translated to an address in the network A2 with reference to the translation information possessed by the address translator.

[0066] A server device which embodies another aspect of the present invention is characterized by the followings.

[0067] (A) A communication network in which a network conforming to a certain protocol P and a network conforming to a certain protocol Q are interconnected through an address translator, wherein:

[0068] the address translator includes a function of translating the protocol P to the protocol Q, or vice versa, a function of detecting an SIP communication, information and communication means required for communicating with a server device, and a function of creating translation information including a correspondence relationship between addresses in the protocol P and addresses in the protocol Q in association with the server device when an SIP communication is detected; and

[0069] the server device includes translation information and means required for mutually translating the protocols P, Q in the address translator when information for translation is included in an SIP communication, and information and communication means required for communicating with the address translator.

[0070] (B) A communication network in which a plurality of networks A1, A2 conforming to a certain protocol P are interconnected through an address translator, wherein:

[0071] the address translator has a function of translating the protocol P of the network A1 to the protocol P of the network A2, or vice versa, a function of detecting an SIP communication, information and communicating means required for communicating with a server device, and a function of creating translation information including a correspondence relationship between addresses in the network A1 and addresses in the network A2 in association with the server device when an SIP communication is detected; and

[0072] the server device has translation information and means required for translating addresses in the network A1 to addresses in the network A2 in the address translator, or vice versa, when information for translation is included in an SIP communication, and information and communication means required for communicating the address translator.

[0073] Also, an address translator according to one aspect of the present invention is:

[0074] (1) an address translator for interconnecting a network A conforming to a certain protocol P and a network B conforming to a certain protocol Q, having:

[0075] a translation function of translating the protocol P to the protocol Q, or vice versa;

[0076] a communication function of communicating with a server device; and

[0077] a translation information creating function of creating translation information including a correspondence relationship between addresses in the protocol P and addresses; in the protocol Q,

[0078] wherein the address translator transfers detected SIP communication data to the server device, and receives the SIP communication data, the protocol of which has been mutually translated by the server device based on the translation information.

[0079] (2) A communication network in which a plurality of networks A1, A2 conforming to a certain protocol P are interconnected through an address translator, wherein:

[0080] a server device includes translation information and means required for translating an address in the network A1 to an address in the network A2, or vice versa in the address translator when information for translation is included in an SIP communication, and information and communication means required for communicating with the address translator; and

[0081] the address translator includes a function of translating the protocol P associated with the network A1 to the protocol P associated with the network A2, a function of detecting an SIP communication, information and communication means required for communicating with a server device, and a function of creating translation information including a correspondence relationship between addresses in the network A1 and addresses in the network A2 in association with the server device when an SIP communication is detected.

[0082] (3) The address translator described in (1) or (2), wherein the address translator further has a function of detecting information for translation included in the SIP communication, and adding identification information.

[0083] (4) The address translator described in (3), wherein the address translator further has a function of corresponding the identification information to SIP communication information, and the address translator further has a function of deleting translation information corresponding to the identification information at the end of the SIP communication.

[0084] (5) The address translator described above which detects the SIP communication based on information on a destination, information on the destination and a port thereof, or information on the port.

[0085] (6) In a communication network in which a network A conforming to a certain protocol P and a network B conforming to a certain protocol Q are interconnected through an address translator, the address translator includes:

[0086] a function of translating the protocol P to the protocol Q, or vice versa, a function of detecting an SIP communication, and a function of creating translation information including a correspondence relationship between addresses in the protocol P and addresses in the protocol Q; and

[0087] means for creating translation information required for mutually translating the protocols P, Q when information for translation is included in an SIP communication, and rewriting contents of the communication with reference to the translation information.

[0088] (7) In a communication network in which a network A1 and a network A2 conforming to a certain protocol P are interconnected through an address translator, the address translator includes:

[0089] a function of translating the protocol P in the network A1 to the protocol P in the protocol A2, or vice versa, a function of detecting an SIP communication, and a function of creating translation information including a correspondence relationship between addresses in the network A1 and addresses in the network A2;

[0090] means for creating translation information required for translating an address in the network A1 to an address in the network A2, or vice versa, when information for translation is included in the SIP communication; and

[0091] means for creating translation information required for translating an address in the network A1 to an address in the network A2, or vice versa, when information for translation is included in the SIP communication, and rewriting contents of the communication with reference to the translation information.

[0092] (8) The address translator described in (7), wherein the address translator detects the SIP communication based on information on a destination, information on the destination and a port thereof, or information on the port.

[0093] Other objects, features and advantages of the invention will become apparent from the following description of the embodiments of the invention taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0094]FIG. 1 is a schematic diagram illustrating an exemplary configuration of an SIP communication network in the present invention;

[0095]FIG. 2 is a block diagram of an address translator 1;

[0096]FIG. 3 is a block diagram of an SIP address translator 2;

[0097]FIG. 4 is a diagram showing a format for an IPv4 packet;

[0098]FIG. 5 is a diagram showing a format for an IPv6 packet;

[0099]FIG. 6 is a diagram showing a format for an SIP message;

[0100]FIG. 7 is a diagram showing a protocol stack in the present invention;

[0101]FIG. 8 is a diagram showing SIP INVITE message example 1;

[0102]FIG. 9 is a diagram showing SIP INVITE message example 2;

[0103]FIG. 10 is a diagram showing SIP INVITE message example 3;

[0104]FIG. 11 is a diagram showing SIP INVITE message example 4;

[0105]FIG. 12 is a diagram showing SIP 200 OK message example 1;

[0106]FIG. 13 is a diagram showing SIP 200 OK message example 2;

[0107]FIG. 14 is a diagram showing SIP 200 OK message example 3;

[0108]FIG. 15 is a diagram showing SIP 200 OK message example 4;

[0109]FIG. 16 is a diagram showing a message format for an address query request;

[0110]FIG. 17 is a diagram showing a message format for an response to the address query request;

[0111]FIG. 18 is a flow chart illustrating an SIP message translation processing routine executed by an SIP address translator 2;

[0112]FIG. 19 shows an SIP message translation information table provided in the address translator 1;

[0113]FIG. 20 is a block diagram of an address translator 1 in a second and a third embodiment of the present invention;

[0114]FIG. 21 is a diagram showing an example of SIP message with a tag in the second and third embodiment of the present invention;

[0115]FIG. 22 is a flow chart illustrating a tag addition processing routine in the address translator 1 in the second embodiment of the present invention;

[0116]FIG. 23 is a flow chart illustrating an SIP message translation processing routine in an SIP address translator 2 in the second and third embodiment of the present invention;

[0117]FIG. 24 is a block diagram of an address translator 1 in a fourth embodiment of the present invention;

[0118]FIG. 25 shows an example of an SIP parameter list for translation in the present invention;

[0119]FIG. 26 is a table showing an exemplary SIP message translation rule in the present invention;

[0120]FIG. 27 is an SIP communication sequence diagram 1 in the present invention;

[0121]FIG. 28 is an SIP communication sequence diagram 2 in the present invention;

[0122]FIG. 29 is an SIP communication sequence diagram 3 in the present invention;

[0123]FIG. 30 is a flow chart illustrating a tag addition processing routine in the address translator 1 in the third embodiment of the present invention;

[0124]FIG. 31 shows a tag management table in the third embodiment of the present invention;

[0125]FIG. 32 shows a media information management table in the third embodiment of the present invention;

[0126]FIG. 33 is an SIP communication sequence diagram 1 in the third embodiment of the present invention;

[0127]FIG. 34 is an SIP communication sequence diagram 2 in the third embodiment of the present invention; and

[0128]FIG. 35 is an SIP communication sequence diagram 3 in the third embodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

[0129] A first embodiment of the present invention will be described with reference to the accompanying drawings.

[0130]FIG. 1 illustrates an exemplary configuration of an SIP communication network according to the present invention. In the first embodiment, the SIP communication network is comprised of a network A7 and a network B8. Each SIP communication network comprises an SIP server 5, a terminal 6, and a DNS server 4. In this embodiment, the network A7 utilizes an IPv6 address. In this embodiment, the network B8 utilizes an IPv4 address. The network A7 and network B8 are interconnected through an address translator 1.

[0131] The address translator 1 comprises a function of translating the IPv6 address to the IPv4 address or vice versa; an SIP message detecting means; a means for communicating with an SIP address translator 2; and a means for communicating with DNS-ALG3.

[0132] The SIP address translator 2 comprises a means for managing information required for translating the address of an SIP message to rewrite the contents of the SIP message.

[0133]FIG. 6 shows a protocol stack and a message format for the SIP. A packet including the SIP is comprised of an IP header 41, a TCP/UDP header 42, and a payload 43. The SIP is stored in the payload 43. The SIP is comprised of a start-line 44, a message-header 45, and a message-body 46. The start-line 44 indicates the type and destination of an SIP message. The message-header 45 includes parameters associated with the SIP. The message-body 46 indicates information on a connection logically established between terminals. For description of the message-body, the SDP or the like may be utilized.

[0134]FIG. 7 shows a protocol stack for an SIP communication between terminals which belong to different regions in accordance with the present invention. The SIP server 5 and terminal 6 comprise an SIP protocol stack (41, 42, 43) shown in FIG. 6. In this embodiment, the address translator 1 translates (47) the IP header 41, while the SIP address translator 2 translates (48) the SIP message 43.

[0135]FIG. 2 illustrates an exemplary configuration of the address translator 1. The address translator 1 comprises interfaces (IF) (19 a, 19 b, 19 n) which accommodate lines (18 a, 18 b, 18 n), respectively, a packet transfer processing unit 14, and a packet transfer control unit 13.

[0136] The packet transfer processing unit 14 comprises a distribution processing part 15 for detecting an SIP message; a translation information memory part 16 for storing information required for translating an address; and a packet translation processing part 17 for translating a data packet. The translation information memory part 16 comprises a translation information table 500.

[0137]FIG. 19 shows an exemplary structure of the translation information table 500. The translation information table 500 stores a correspondence relationship between an IPv4 address 501 and an IPv6 address 502.

[0138] Turning back to FIG. 2, the description on the address translator 1 is continued. The distribution processing part 15 for detecting an SIP message detects an SIP message communicated between the network A7 and network B8 by any of the following means.

[0139] When an SIP message from the network A (network B) to the network B (network A) is directed to limited destinations, the address translator 1 detects the SIP message using a destination address in the packet header. The distribution processing part 15 of the address translator 1 stores information on the address of the destination of the SIP message.

[0140] The address translator 1 may detect an SIP message using a combination of a destination address and a destination port number in the packet header. When the TCP or UDP is used in a transport mechanism, a default port number of the SIP is set to 5060.

[0141] When an SIP message from the network A (network B) to the network B (network A) is directed to unlimited destinations, the address translator 1 detects the SIP message using a destination port number in the packet header. The distribution processing part 15 of the address translator 1 comprises information on a port number for use in the SIP communication.

[0142] Upon receipt of an IPv4 packet, the packet translation processing part 17 searches the translation information memory part 16 to rewrite an IPv4 address to an IPv6 address. On the other hand, upon receipt of an IPv6 packet, the packet translation processing part 17 searches the translation information memory part 16 to rewrite an IPv6 address to an IPv4 address. In this event, a variety of information may be rewritten in addition to the IP address.

[0143]FIG. 4 shows a format for the IPv4 packet.

[0144]FIG. 5 shows a format for the IPv6 packet. For the translation, this format is also translated, as well as the IP address.

[0145] Turning back to FIG. 2, the description on the address translator 1 is continued. The packet transfer control unit 13 comprises a translation entry registration processing part 11, and a translation entry creation processing part 12.

[0146] The translation entry registration processing unit 11 registers translation information in the translation information memory part 16.

[0147] The translation entry creation processing part 12 has a function of creating address translation information.

[0148]FIG. 3 shows an exemplary configuration of the SIP address translator 2. The SIP address translator 2 comprises interfaces (IF) (23 a, 23 b) for accommodating lines (24 a, 24 b); a memory 22; a CPU 21; and a bus 25 which interconnects these components.

[0149] The memory 22 stores an SIP message translation processing program 26, a translation information query processing program 27, and a translation rule memory part 28.

[0150] The SIP message translation processing part 26 includes a parameter information table 412 for translation shown in FIG. 25, and an SIP message processing routine 60 illustrated in FIG. 18, and translates address information included in an SIP message.

[0151]FIG. 25 shows the information table 412 which includes a parameter list: for translation. This table defines parameters for the SIP and SDP which can set an IP address and a port number.

[0152] The translation rule memory part 28 stores a parameter translation rule for each of address translation scheme comprised in the address translator 1. An address included in an SIP message is translated in accordance with the associated translation rule.

[0153]FIG. 26 shows a translation rule 413 which is applied when the address translator 1 performs an address translation in accordance with the NAT-PT scheme. The faster translation processing can be accomplished by storing the translation rule 413 required for the SIP message translation in the memory.

[0154] The translation information query part 27 performs the processing involved in querying the address translator 1 as to IP address translation information.

[0155] Description will now be made on an SIP-based audio communication between the terminal 6 a in the network A and the terminal 6 b in the network B in FIG. 1 in accordance with sequences shown in FIGS. 27, 28, 29. Upon starting a communication, a session must be established between the terminal 6 a and terminal 6 b.

[0156] Assume herein that the SIP server 5 a has been set in the terminal 6a as a destination of an SIP message.

[0157] The terminal 6 a sends an SIP message (INVITE) for requesting the establishment of a session between itself and the terminal 6 b to the SIP server 5 a (101).

[0158]FIG. 8 shows an example 401 of the SIP message (INVITE) sent by the terminal 6 a to the SIP server 5 a. Information on the destination of the SIP message (INVITE) is set in the start-line. A “Via:” header indicates a route of the SIP message (INVITE). A response to the SIP message (INVITE) is sent from a destination terminal to the originating terminal based on the “Via:” header information. A “To:” header indicates the destination of the SIP message (INVITE); A “From:” header indicates the initiator of the SIP message (INVITE); and a “Call-ID:” header indicates a call identifier, respectively. A c-parameter in the message body indicates connection information; and an m-parameter indicates a port number through which data is received, respectively. After establishing the session, audio information between the terminals is sent to a destination indicated by the c-parameter and m-parameter.

[0159] Turning back to FIG. 27, the description on the sequence is continued. Upon receipt of the SIP message (INVITE), the SIP server 5 a determines the destination of the SIP message (INVITE) from the destination information in the start-line. When a domain name is set as the destination information, the SIP server 5 a sends a DNS query to the DNS server 4 a (102). The DNS server 4 a solves the name of the SIP server 5 a in association with the DNS-ALG3 and DNS server 4 b (103). For associating the address translator (TR) 1 with the DNS-ALG3, an address translation scheme is applied, for example, as described in JP-A-2001-274419. The DNS-ALG3 translates an IPv4 address b4 associated with the domain name of the SIP server 5 b to a virtual IPv6 address vb6. The translation information is stored in the translation information table 500 in the translation information memory part 16 in the address translator 1.

[0160] The SIP server 5 a acquires the virtual IPv6 address vb6 of the SIP server 5 b as information on the destination of the SIP message (INVITE) (104), and sends the SIP message (INVITE) to the virtual IPv6 address vb6 (105).

[0161]FIG. 9 shows an example of the SIP message (INVITE) sent by the SIP server 5 a.

[0162] The address translator 1 detects the SIP message (INVITE) based on the IP address, or a combination of the IP address and port number, or the port number (106). The address translator 1 sends the SIP message (INVITE) detected together with the information indicative of an address translation scheme to the SIP address translator (SIP-ALG) 2 (107). When there is only one address translation scheme for the address translator 1, information on the address translation scheme may be previously stored in the SIP address translator 2.

[0163] Upon receipt of the SIP message (INVITE), the SIP address translator 2 initiates an SIP message translation processing routine 60 illustrated in FIG. 18 (108).

[0164]FIG. 18 illustrates the SIP message translation processing routine 60 in the first embodiment. The SIP address translator 2 compares the parameter list 412 for translation with the received SIP message to extract parameters to be translated (61).

[0165] When there is a parameter for translation, the SIP address translator 2 checks whether or not the extracted parameter includes an IP address (62).

[0166] When the extracted parameter includes an IP address, the SIP address translator 2 decides an address translation scheme (63). Next, the SIP address translator 2 identifies IP addresses for translation with reference to the translation rule 413 in the translation rule memory part 28 (64). For example, IP addresses to be translated when receiving the SIP message (INVITE) shown in FIG. 9 are the IPv6 address sipa6 of the SIP server 5 a, and the IPv6 address a6 of the terminal 6 a.

[0167] When the address translation scheme associated with the address translator 1 is an IP masquerade, a port number included in the parameter is also to be translated. The IP masquerade is a scheme which translates a port number of TCP/UDP in addition to the IP address.

[0168] The translation information query part 27 in the SIP address translator 2 sends an address query request 600 including the IP addresses “sipa6, a6” for translation to the address translator 1 (65, 109).

[0169]FIG. 16 shows a message format for the address query request 600. The address query request is comprised of a header 601 and a request content 602. The header 601 includes an ID (605) for associating the address query request with a response thereto. A count (608) sets the number of IP addresses for translation.

[0170] The request content 602 includes, for each IP address for translation, an IP address type (IPv4, IPv6) (609), an IP address for translation (610), and a port number for translation (611). The port number 611 is set when the translation scheme is the IP masquerade.

[0171] The address translator 1 receives the address query request 600, and searches the translation information table 500 in the translation entry creation processing part 12 using the IP address for translation.

[0172] When the IP address for translation exists in the translation information table 500 of the translation entry creation processing part 12, the address translator 1 sends an address query request response (110, 66) including the translated IP address to the SIP address translator 2.

[0173] When the IP address for translation does not exist in the translation information table 500 of the translation entry creation processing unit 12, the address translator 1 initiates the translation entry registration processing part 11 to set a translation entry in the translation information table 500 of the translation information memory part 16. The address translator 1 sends an address query request response (110, 66) including the translated IP addresses (vsipa4, va4) to the SIP address translator 2.

[0174]FIG. 17 shows a message format for the address query request response 650. The address query request response is comprised of a header 601 and a response content 603. The response content 603 includes a combination of an IP address type (620), an IP address (621) and a port number (622) for translation, and a translated IP address type (623), IP address (624) and port number (625).

[0175] The SIP address translator 2 receives the address query request response, and rewrites the IP address information included in the SIP message (67, 111). More specifically, the SIP address translator 2 rewrites sipa6 to vsipa4, and a6 to va4, respectively.

[0176] The SIP address translator 2 sends the SIP message (INVITE) which has the rewritten IP address information to the address translator 1, followed by termination of this routine (68, 112).

[0177] When no parameter for translation is extracted at step 61, and when no IP address information is included in the extracted parameter at step 62, the SIP address translator 2 does not rewrite the SIP message. The SIP address translator 2 sends the SIP message to the address translator 1 (69), followed by termination of this routine.

[0178] Turning back to FIG. 27, the description on the sequence diagram is continued. Upon receipt of the SIP message (INVITE) from the SIP address translator 2 (112), the address translator 1 translates the address in the IP packet header including the SIP message (INVITE) (113). Referring to the translation information table 500 in the translation information memory part 16, the address translator 1 translates the destination address to the real IPv4 address “sipb4” of the SIP server 5 b, and the source address to the virtual IPv4 address “vsipa4” of the SIP server 5 a, respectively.

[0179]FIG. 10 shows an example of the SIP message (INVITE).

[0180]FIG. 11 shows an example of the SIP message (INVITE).

[0181] The SIP server 5 b receives the SIP message (INVITE) shown in FIG. 10 (114). In FIG. 10, the IP addresses set in the via header, Call-ID header, contact header and c-parameter have been translated from IPv6 to IPv4, as compared with the exemplary SIP message before the translation shown in FIG. 9.

[0182] The SIP server 5 b identifies position information on the destination terminal 6 b from destination information in the start-line, and sends the SIP message (INVITE) shown in FIG. 11 to the terminal 6 b (115).

[0183] For permitting the SIP message (INVITE), the terminal 6 b responds with an SIP message (200 OK). Audio information sent by the terminal 6 b to the terminal 6 a is sent to an IP address specified by the c-parameter in the SIP message (INVITE) (the virtual IPv4 address “va4” of the terminal 6 a), and to a port address specified by the m-parameter.

[0184] The SIP message (200 OK) is sent to the terminal 6 a through the SIP server which has processed the SIP message (INVITE) based on the information in the via header. The SIP message (200 OK) is a response to the SIP message (INVITE).

[0185]FIG. 12 is an example 1 of the SIP message (200 OK).

[0186]FIG. 13 is an example 2 of the SIP message (200 OK).

[0187] Continued on FIG. 28, the SIP server 5 b receives the SIP message (200 OK) shown in FIG. 12 from the terminal 6 b (121). The SIP server 5 b sends the SIP message (200 OK) shown in FIG. 13 to the virtual IPv4 address “vsipa4” of the SIP server 5 a (122). The address translator 1 detects the SIP message (200 OK) (123), and sends the SIP message (200 OK) to the SIP address translator 2 (124). Upon receipt of the SIP message (200 OK), the SIP address translator 2 initiates the SIP message translation processing routine 60. The flow of the SIP message translation processing (from 125 to 128) is similar to steps 108 to 111 in FIG. 27. The SIP address translator 2 sends an address query request which has “vsipa4, va4, b4” set in the IP addresses for translation to the address translator 1 (126). The address translator 1 searches the translation information table 500 in the translation entry creation processing part 12 using the IP addresses for translation to detect translation entries of “vsipa4-sipa6” and “va4-a6” which have been created upon receipt of the address query request at step 109. The address translator 1 creates a virtual IPv6 address “vb6” for “b4” and stores the virtual IPv6 address in the translation information table 500 in the translation information memory part 16. The address translator 1 sends an address query request response including a combination of the IP addresses for translation and the translated IP addresses to the SIP address translator 2 (127).

[0188]FIG. 14 shows an example 3 of the SIP message (200 OK).

[0189]FIG. 15 shows an example 4 of the SIP message (200 OK).

[0190] The SIP address translator 2 rewrites the IP address information, and sends the SIP message (200 OK) to the address translator 1 (128, 129). The address translator 1 performs an address translation for the IP packet header including the SIP message (200 OK) (130). Referring to the translation information table 500 in the translation information memory part 16, the address translator 1 translates the destination address to the real IPv6 address “sipa6” of the SIP server 5 a, and the source address to the virtual IPv6 address “vsipb6” of the SIP server 5 b, respectively. The address translator 1 sends the SIP message (200 OK) shown in FIG. 14 to the SIP server 5 a (131). The SIP server 5 a sends the SIP message (200 OK) shown in FIG. 15 to the terminal 6 a (132).

[0191] Audio information sent by the terminal 6 a to the terminal 6 b is sent to the IP address (virtual IPv4 address “vb6” of the terminal 6 b) specified by the c-parameter of the SIP message (200 OK), and to the port number specified by the m-parameter.

[0192] Continued on FIG. 29, upon receipt of the SIP message (200 OK) which is a response to the SIP message (INVITE), the terminal 6 a sends an SIP message (ACK) to the SIP server 5 a (141). The SIP server 5 a sends the SIP message (ACK) to the virtual IPv4 address “vsipb6” of the SIP server 5 b (142). The address translator 1 detects the SIP message (ACK) (143), and sends the SIP message (ACK) to the SIP address translator 2 (144).

[0193] The flow of the SIP message translation processing (from 145 to 148) is similar to steps 108 to 111 in FIG. 27. The SIP address translator 2 sends the SIP message (ACK) in which the IP address information has been rewritten to the address translator 1 (149). The address translator 1 translates the address of the IP packet header including the SIP message (ACK) (150). The address translator 1 sends the SIP message (ACK) to the real IPv4 address “sipb4” of the SIP server 5 b (151). The SIP server 5 b sends the SIP message (ACK) to the terminal 6 b (152).

[0194] The foregoing procedure results in a logical connection established between the terminal 6 a and terminal 6 b, thereby permitting an audio communication between the terminals. The terminal 6 a sends a packet including audio information to the virtual IPv6 address (vb6) corresponding to the IPv4 address of the terminal 6 b (153). The address translator 1 searches the translation information memory part 16 using the source IP address “a6” and destination IP address “vb6.” Consequently, the translation entries registered at step 109 and step 126 in the aforementioned processing sequence are detected.

[0195] The address translator 1 rewrites the header information based on the translation entries (154). The virtual IPv4 address “va4” corresponding to the IPv6 address “a6” of the terminal 6 a is set to the original IP address. The real IPv4 address “b4” of the terminal 6 b is set to the destination IP address. The address translator 1 sends the packet with the translated header information to the terminal 6 b (155).

[0196] A packet including audio information sent from the terminal 6 b to the terminal 6 a is processed in a similar manner (156-158).

[0197] According to the first embodiment of the present invention, an IP address in an SIP message can be translated using information on the address translator. It is therefore possible to perform SIP communications between terminals which belong to different regions.

[0198] Next, a second embodiment of the present invention will be described with reference to the accompanying drawings.

[0199] The first embodiment differs from the second embodiment in a method of implementing functions of the SIP message translating means.

[0200] In the second embodiment, the address translator 1 comprises a function of detecting parameters for translation in an SIP message.

[0201]FIG. 20 illustrates an exemplary configuration of the address translator 1 in the second embodiment. The address translator 1 in the second embodiment comprises a tag processing part 20 in the packet transfer control unit 13, in addition to the exemplary configuration in FIG. 2.

[0202] The tag processing part 20 comprises the parameter list 412 for translation shown in FIG. 25, and a tag addition processing routine 80 illustrated in FIG. 22. Upon detection of an SIP message, the address translator 1 initiates the tag addition processing routine 80.

[0203]FIG. 22 illustrates the tag addition processing routine 80 executed by the address translator 1. The address translator 1 compares the parameter list 412 for translation with the received SIP message to extract parameters for translation (81). When parameters for translation exist in the SIP message, the address translator 1 creates identification information (tag) which is added to the detected parameters (82). The tag is comprised of the address translation scheme provided by the address translator 1, and an identifier. The address translator 1 sends the SIP message with the identification information added thereto to the SIP address translator 2 (83), followed by termination of this routine.

[0204]FIG. 21 shows an example of SIP message 401 with tag which is sent by the address translator 1 to the SIP address translator 2. From a comparison with FIG. 8, it can be seen that the tag is added to the head of a row for translation.

[0205] When no parameters for translation exist at step 81, this routine is terminated. When there are no parameters for translation, the address translator translates the address information in the IP packet header including the received SIP message, and transfers the SIP message. The contents of the SIP are not translated.

[0206] In the second embodiment, the SIP address translator 2 comprises an SIP message translation processing routine 70 in the SIP message translation processing part 26.

[0207]FIG. 23 shows the SIP message translation processing routine 70 which is initiated when the SIP address translator 2 receives an SIP message with tag in the second embodiment.

[0208] The SIP message translation processing routine 70 in FIG. 23 differs from the SIP message translation processing routine 60 in the first embodiment in that step 61 is replaced with step 69 at which a parameter with tag is extracted. At step 69, a parameter with tag is extracted from a received SIP message.

[0209] According to the second embodiment, since the address translator 1 has a function of detecting parameters for translation in the SIP message, the SIP address translator 2 is burdened with a less processing load. Also, when no parameters for translation is included in a received SIP message, the address translator 1 can transfer the SIP message without starting the SIP address translator 2.

[0210] Next, a third embodiment of the present invention will be described with reference to the accompanying drawings.

[0211] The third embodiment is characterized in that the tag information in the second embodiment is corresponded to “call leg” of the SIP communication defined in RFC2543. RFC2543 defines that the call leg indicates a peer to peer SIP relationship.

[0212] The call leg can be uniquely identified by a combination of the “To:” header, “From:” header, and “Call-ID:” header. These headers are included in all SIP messages.

[0213] The address translator 1 in the third embodiment further comprises, in addition to the address translator 1 of the second embodiment, table information 300 for managing a correspondence relationship between the tag and call leg; table information 310 for managing a correspondence relationship between the tag and media information; and method information indicative of the start of an SIP session and the end of the SIP session. A method of the SIP indicative of a request for terminating an SIP session may be, for example, BYE. The method of the SIP indicates the type of an SIP message.

[0214] Also, tag information is added to each entry of the translation information table 500 provided in the translation entry creation processing part 12 of the address translator 1.

[0215] In the third embodiment, the SIP address translator 2 sets the tag information in an ID of an address query request 600 which is sent to the address translator 1. When the address translator creates a translation entry, the tag information is stored in the translation information table 500.

[0216] Generally, a request for terminating an SIP session does not include the message-body. However, for providing a more detailed SIP communication, it is desired that the address translator 1 deletes address translation information for the SIP session, when this SIP session terminates.

[0217] The third embodiment is characterized in that the address translator 1 has the information on the correspondence between the call leg and tag, so that the associated translation information is deleted at the end of an SIP session, without providing a session state management function in the SIP address translator 2.

[0218]FIG. 31 shows a tag management table 300 provided in the tag processing part 20 of the address translator 1 in the third embodiment. Each entry in the tag management table 300 defines a tag (301); IPv6 To header (302); IPv6 From header (303); IPv6 Call-ID (304); IPv4 To header (305); IPv4 From header (306); and IPv4 Call-ID (307).

[0219] Since IP address information can be set in the To header, From header and Call-ID header, entries on the IPv6 side and IPv4 side are defined.

[0220]FIG. 32 shows a media information management table 310 provided in the translation entry creation processing part 12 of the address translator 1 in the third embodiment. Each entry in the media information management table 310 defines a tag (311); an IPv6-side c-parameter (312); an IPv6-side m-parameter (313); an IPv4-side c-parameter (314); and an IPv4-side m-parameter (315). With the provision of the media information management table 310, the address translator 1 blocks audio information after termination of an SIP session.

[0221]FIG. 30 illustrates a tag addition processing routine 90 provided in the address translator 1 in the third embodiment. Upon detection of an SIP message, the address translator 1 searches the tag management table 300 (91). A search key is call leg information in the received SIP message.

[0222] When no entry exists, a tag is created (92).

[0223] The address translator 1 references the method information indicative of the start of the SIP session and the end of the SIP session, and the parameter list for translation 412 to perform processing suitable for the received message (93).

[0224] When the SIP message indicates the end of the session and the SIP message includes parameters for translation, the address translator 1 sends the SIP message with tag information added thereto to the SIP address translator 2 (94). The address translator 1 receives the SIP message, in which the parameters have been rewritten, from the SIP address translator 2 (95). Here, the address translator 1 deletes a translation entry associated with the tag included in the translation information table 500 of the translation entry creation processing part 12, and an entry associated with the tag included in the media information management table 310. Further, the translation entry registration processing part 11 requests the translation information memory part 16 to delete associated entries. When the deletion is normally performed, this routine is terminated (96).

[0225] When the SIP message indicates the end of the SIP session and the SIP message includes no parameters for translation, the address translator 1 executes the foregoing step 96.

[0226] When the SIP message indicates the start of the SIP session, the address translator 1 registers information on a correspondence between the tag and the c-parameter and m-parameter in the media information management table 310 (97). When the SIP message includes parameters for translation, the address translator 1 sends the SIP message with tag information added thereto to the SIP address translator 2 (98), followed by termination of this routine. When the SIP message includes no parameters for translation, this routine is terminated.

[0227] When the SIP message indicates other than the start of the SIP session and the end of the SIP session, and the SIP message includes parameters for translation, the address translator 1 sends the SIP message with tag information added thereto to the SIP address translator 2 (98), followed by termination of this routine.

[0228] When the SIP message indicates other than the start of the SIP session and the end of the SIP session, and the SIP message includes no parameters for translation, this routine is terminated.

[0229] Next, description will be made on an SIP-based audio communication performed between the terminal 6 a in the network A and the terminal 6 b in the network B in the third embodiment in accordance with, sequences illustrated in FIGS. 33, 34 and 35.

[0230]FIGS. 33 and 34 illustrate an SIP session establishing sequence. The basic flow of the processing is identical to that in FIGS. 27 and 28.

[0231] A difference between FIGS. 33 and 27 lies in the addition of step 116 in FIG. 33.

[0232] A difference between FIGS. 34 and 28 lies in the addition of step 133 in FIG. 34.

[0233] At step 116 and step 133, the address translator 1 identifies that a detected SIP message indicates the start of a session, and stores information on a correspondence between tag information and the c-parameter and m-parameter included in the detected SIP message in the media information management table 310.

[0234]FIG. 35 illustrates an SIP session terminating sequence. The basic flow is identical to that in FIGS. 27 and 28. The terminal 6a sends an SIP message (BYE) for requesting the end of an SIP session between itself and the terminal 6 b to the SIP server 5 a (161). The SIP server 5 a sends the SIP message (BYE) to the virtual IPv6 address “vsipb6” of the SIP server 5 b (162). The address translator 1 detects this SIP message (BYE), and sends the SIP message (BYE) with tag to the SIP address translator 2 (163, 164). The flow of SIP message translation processing (from 165 to 168) is similar to steps 108 to 111 in FIG. 27.

[0235] Upon receipt of the SIP message (BYE), in which parameters including the IP address have been rewritten, from the SIP address translator 2 (169), the address translator 1 translates addresses in the packet header including the SIP message (BYE) (170). The address translator 1 sends the SIP message (BYE) to the real IPv4 address “sipb4” of the SIP server 5 b (171). The SIP server 5 b sends the SIP message (BYE) to the terminal 6 b (172).

[0236] When the terminal 6 b has normally processed the SIP message (BYE), the terminal 6 b sends a response SIP message (200 OK) to the SIP message (BYE) to the SIP server 5 b (173).

[0237] The SIP server 5 b sends a response SIP message (200 OK) to the SIP message (BYE) to the virtual IPv4 address “vsipa4” of the SIP server 5 a (174).

[0238] Upon detection of the SIP message (200 OK), the address translator 1 detects that the received SIP message (200 OK) is a response to the SIP message (BYE) for requesting termination of the SIP session (175), and sends the SIP message (200 OK) with tag to the SIP address translator 2 (176). The flow of SIP message translation processing (from 177 to 180) is similar to the steps 108 to 111 in FIG. 27.

[0239] Upon receipt of the SIP message (200 OK), in which the parameters have been rewritten, from the SIP address translator 2 (181), the address translator 1 translates addresses in the packet header including the SIP message (200 OK). Next, the address translator 1 searches the tag management table 300 for an associated tag, using the call leg information in the SIP message (200 OK) as a search key. Then, the address translator 1 deletes a translation entry associated with the tag included in the translation information table 500, and an entry associated with the tag included in the media information management table 310 (182).

[0240] The address translator 1 sends the SIP message (200 OK) to the terminal 6 b via the SIP server 5 b (183, 184).

[0241] According to the third embodiment, since the address translator 1 has the correspondence relationship between the tag and call leg, the translation entry can be deleted at the end of an SIP communication.

[0242] Next, a fourth embodiment of the present invention will be described with reference to the drawings.

[0243] The fourth embodiment is characterized in that the IP address translator 1 comprises an SIP message translating means.

[0244]FIG. 24 illustrates an exemplary configuration of the address translator 1 in the fourth embodiment.

[0245] The packet transfer control unit 13 comprises an SIP message translation processing part 31 and a translation rule memory part 32, in addition to the functional blocks of the address translator 1 in the first embodiment.

[0246] The SIP message translation processing part 31 has a function provided in the SIP message translation processing part 26 of the SIP address translator 2 in the first embodiment.

[0247] The translation rule memory part 32 has a function provided in the translation rule memory part 28 of the SIP address translator 2 in the first embodiment.

[0248] According to the fourth embodiment, since the address translator 1 comprises the SIP message translating means, the communication processing with the SIP address translator 2 can be omitted. It is therefore possible to provide faster processing involved in the SIP message translation.

[0249] Next, a fifth embodiment will be described.

[0250] In FIG. 1, the network A7 utilizes an IPv4 private address. The network B8 utilizes an IPv4 global address.

[0251] The address translator 1 comprises a function of translating the IPv4 private address to the IPv4 global address or vice versa, instead of the function of translating the IPv4 address and IPv6 address.

[0252] In the fifth embodiment, upon receipt of an SIP message from the IPv4 private network 7, the address translator 1 sends the SIP message to the SIP address translator 2. The SIP address translator 2 references the translation rule to identify IP addresses for translation. For example, the IP addresses for translation are the IPv4 private address of the SIP server 5 a, and the IPv4 private address of the terminal 6 a.

[0253] The SIP address translator 2 sends an address query request including the IP addresses for translation to the address translator 1.

[0254] Upon receipt of the address query request, the address translator 1 creates translation entries for the IPv4 private address and IPv4 global address. The address translator 1 sends an address query request response including the IPv4 private address before the translation and the translated IPv4 global address to the SIP address translator 2.

[0255] According to the fifth embodiment, when the network A7 and network B8 conforming to the IPv4 protocol are interconnected through the address translator 1, and the SIP address translator 2 rewrites IP addresses included in an SIP message, the SIP-based audio communication can be accomplished between a terminal belonging to the network A7 and a terminal belonging to the network B8.

[0256] As will be apparent from the foregoing embodiment, the SIP address translator 2 rewrites the contents of an SIP message, making use of translation information of the address translator 1, so that the SIP-based audio communication can be accomplished between terminals which exist in different regions. When the address translator 1 comprises a function of detecting parameters for translation in an SIP message, and adds identification information (tag) to the parameters for translation, the processing in the SIP address translator 2 can be reduced. Further, when the address translator 1 comprises a correspondence relationship between the identification information and call leg, and a function of detecting the start of an SIP session and the end of the SIP session, the address translator 1 can delete associated entries at the end of a communication. It is therefore possible to provide more detailed SIP communication control.

[0257] When the address translator 1 comprises an SIP message translating means, the communication processing with the SIP message translator 2 can be omitted.

[0258] It should be further understood by those skilled in the art that the foregoing description has been made on embodiments of the invention and that various changes and modifications may be made in the invention without departing from the spirit of the invention and the scope of the appended claims. 

What is claimed is:
 1. An address translator for connecting a network A conforming to a protocol P to a network B conforming to a protocol Q, said address translator comprising: an address translating function for translating an address conforming to the protocol P to an address conforming to the protocol Q, or vice versa; and a detecting function for detecting a communication conforming to a particular protocol, wherein said address translator translates an address described in a first region of communication data by said address translation function, and when said address translator detects a communication conforming to said particular protocol, said address translator creates translation information including a correspondence relationship between addresses in the protocol P and addresses in protocol Q for translating an address described in a second region of the communication data.
 2. An address translator according to claim 1, further comprising communicating means for communicating with a server device, wherein said address translator sends said translation information to said server device, and receives information including said second region which has been translated by said server device.
 3. An address translator according to claim 1, further comprising a processing part for translating an address described in the second region of the communication data.
 4. A method of processing a message including a first portion and a second portion, comprising: first translation processing for translating information in the first part from information conforming to a first protocol to information conforming to a second protocol; determination processing for determining whether or not the second portion requires a translation; and second translation processing for translating information in the second portion, determined to require a translation, from information conforming to the first protocol to information conforming to the second protocol.
 5. A message processing method according to claim 4, further comprising: using a first server and a second server; performing said first translation processing in said first server; transferring the information in said second portion from said first server to said second server; said second server extracting a parameter which requires a translation from said second portion; performing said second translation processing on said extracted parameter in said second server; and transferring the information in said second portion which has undergone said second translation processing from said second server to said first server.
 6. A message processing method according to claim 5, wherein: said second server has a table indicative of parameters which require a translation, and extracts a parameter which requires a translation from said second portion based on said table.
 7. A message processing method according to claim 5, wherein: said first server transfers the parameter which requires a translation together, with a tag added thereto, in said second portion to said second server, and said second server extracts a parameter which requires a translation from said second portion based on said tag.
 8. A message processing method according to claim 4, wherein said first portion is an IP header, said second portion is a payload including an SIP message, one of said first protocol and second protocol is IPv4, the other is IPv6, and information for translation is an address.
 9. An address translator connected to both a first network conforming to a first addressing system and a second network conforming to a second addressing system, said address translator comprising: a memory part for holding a translation rule for translating said first addressing system to said second addressing system, or vice versa; a translating part for translating a first address in input information conforming to said first addressing system to a second address conforming to said second addressing system, or vice versa based on said translation rule; and a function of outputting said input information and said translation rule.
 10. An address translator according to claim 9, further comprising a function of receiving said input information having a translated address using said outputted input information and translation rule.
 11. An address translator according to claim 10, further comprising a communication function for communicating with a server device, wherein said address translator sends said input information to said server device, and receives said input information having an address translated by said server device.
 12. An address translator according to claim 11, further comprising: a function of detecting an SIP communication; and a function of creating translation information including a correspondence relationship between an address in the first network conforming to the first addressing system and an address in the second network conforming to the second addressing system, in association with said server device, when an SIP communication is detected.
 13. An address translator according to claim 12, further comprising a function of detecting information for translation included in the SIP communication, and adding identification information to said information for translation.
 14. An address translator according to claim 9, wherein the SIP communication is detected based on information on a destination, information on the destination and a port thereof, or information on the port.
 15. An address translator according to claim 10, further comprising: a processing part connected through an internal bus, wherein said input information is sent to said processing part through said internal bus, and said input information having a protocol translated by said processing part is received through said internal bus.
 16. In a communication network in which a network conforming to a protocol P and a network conforming to a protocol Q are interconnected through an address translator, a server device operative in cooperation with said address translator, wherein said server device translates an address of a predetermined portion, the address of which has not been translated by said address translator.
 17. A server device according to claim 16, wherein said server device translates an address using translation information stored in said address translator.
 18. A server device according to claim 17, wherein said translation information is an address translation rule between the protocol P and the protocol Q.
 19. A server device according to claim 18, wherein said translation information further includes information for specifying said predetermined portion. 